Data storage and exchange device

ABSTRACT

A data storage and exchange device includes a non-volatile memory, a first interface for exchanging data between the non-volatile memory and a computer, and a second interface for exchanging data between the non-volatile memory and a mass storage device. The data storage and exchange device is operative only to exchange data between the non-volatile memory and the computer, between the computer and the mass storage device, and possibly between the non-volatile memory and the mass storage device even in the absence of the computer.

[0001] This is a continuation-in-part of U.S. Provisional PatentApplication Ser. No. 60/365,621, filed Mar. 20, 2002. This is also acontinuation-in-part of U.S. patent application Ser. No. 10/084,226,filed Feb. 28, 2002.

FIELD AND BACKGROUND OF THE INVENTION

[0002] The present invention relates to data storage devices and, moreparticularly, to a data storage device that is operative to exchangedata, both with a computer and with another data storage device.

[0003] Easily portable mass storage devices, that serve as detachabledata storage media for computers, are known. One such device isdescribed in U.S. Pat. No. 6,148,354, and is manufactured and sold byM-Systems Flash Disk Pioneers Ltd. of Tel Aviv, Israel as theDiskOnKey™. This device is operative, when plugged into a UniversalSerial Bus (USB) port of a computer with an appropriately configuredoperating system, to emulate a hard disk. For example, an appropriatelyconfigured Windows operating system of a personal computer with a USBport could treat the computer's internal hard disk as the “C” drive anda DiskOnKey™ plugged into the USB port as the “E” drive. Other such massstorage devices include the family of Microdrives™, available fromInternational Business Machines of Armonk N.Y., USA; and theCompactFlash™, the Memory Stick®, the Secure Digital Card™, theMultiMedia Card™ and the SmartMedia Card™, all available from SanDiskCorporation of Sunnyvale Calif., USA.

[0004] A typical mass storage device includes a non-volatile memory forlong-term storage of data, an interface such as a USB interface forexchanging the data with a host computer, and a controller for managingthe non-volatile memory. Controller activities include keeping track offree and occupied areas of the non-volatile memory; formatting datareceived from the host computer for storage in a designated area of thenon-volatile memory and then writing the suitably formatted data to thedesignated area; and reading data from a designated area of thenon-volatile memory and formatting the read data for transmission to thehost computer. Typically, the data processing operations that areperformed by mass storage devices are confined to reformatting,compression, decompression, encryption and decryption of the data.

[0005] U.S. patent application Ser. No. 10/084,226, which isincorporated by reference for all purposes as if fully set forth herein,teaches a mass storage device that is operative to exchange data, eitherwith a computer or with another similar mass storage device. In otherwords, two such mass storage devices can exchange data directly withoutthe intervention of a computer.

SUMMARY OF THE INVENTION

[0006] According to the present invention there is provided a datastorage and exchange device including: (a) a non-volatile memory; (b) afirst interface, for exchanging data between a computer and thenon-volatile memory; and (c) a second interface, for exchanging databetween the computer and a mass storage device; the data storage andexchange device being operative only to perform the exchanging.

[0007] According to the present invention there is provided a datastorage and exchange device including: (a) a non-volatile memory; (b) afirst interface, for exchanging data between a computer and thenon-volatile memory; and (c) a second interface, for exchanging databetween the computer and a mass storage device, and for exchanging databetween the non-volatile memory and the mass storage device; the datastorage and exchange device being operative only to perform theexchanging.

[0008] In the present context, “exchanging” data between two devicesincludes reading data from one device and writing the data to anotherdevice. This “exchanging” may include limited processing of the data, asin prior art mass storage devices, that is needed for storing andretrieving the data.

[0009] In its most basic form, the present invention is a mass storagedevice that, like the prior art mass storage devices discussed above,includes a non-volatile memory and a first interface for exchanging databetween the non-volatile memory and a host computer, but also includes asecond interface for exchanging data between the host computer and asecond mass storage device. So, for example, the basic device of thepresent invention can be used, in conjunction with a prior art massstorage device plugged into the second interface, to emulate two harddisks. A more advanced embodiment of the present invention is operativealso to exchange data directly between the non-volatile memory and thesecond mass storage device via the second interface, without referenceto the host computer and even in the absence of the host computer.

[0010] An important limitation of the present invention, thatdistinguishes the present invention from “computers” as herein defined,is that the operations of the present invention are confined toexchanges of data between the host computer and the non-volatile memory,between the host computer and a second mass storage device, and, in theadvanced embodiment of the present invention, between the non-volatilememory and the second mass storage device. In particular, the dataprocessing performed by the present invention is restricted tooperations, such as reformatting, compression, decompression, encryptionand decryption, that are directly related to these data exchanges.

[0011] Preferably, the non-volatile memory is a flash memory.

[0012] In one embodiment of the present invention, the first interfaceis a direct contact interface: the device of the present invention is indirect physical contact with the host computer. Examples of suchinterfaces include USB interfaces and interfaces such as the FireWire™interface used by Apple Computer, Inc. of Cupertino Calif., USA in itsproduct line, that conform with the IEEE 1394 standard. In anotherembodiment of the present invention, the first interface is a wirelessinterface such as a Bluetooth interface.

[0013] Preferably, the device of the present invention includes acontroller for managing the exchange of data between the host computerand the non-volatile memory via the first interface, between the hostcomputer and another mass storage device via the second interface, and,in the advanced embodiment of the present invention, between thenon-volatile memory and the other mass storage device via the secondinterface If the two interfaces are dissimilar, the controller isoperative to reformat input from one interface to be compatible with theother interface.

[0014] When the advanced embodiment of the present invention writes datafrom the non-volatile memory to a second mass storage device, the datathat is written to the second mass storage device may be appended toother data previously stored in the second mass storage device, or maybe written over other data previously stored in the second mass storagedevice. The data that is written to the second mass storage device maybe structured as a single file, or may be structured with the same filestructure as is used in the non-volatile memory. Conversely, when theadvanced embodiment of the present invention reads data from a secondmass storage device and writes that data to the non-volatile memory,that data may be appended to other data previously stored in thenon-volatile memory, or may be written over other data previously storedin the non-volatile memory. The data that is written to the non-volatilememory may be structured as a single file, or may be structured with thesame file structure as is used in the second mass storage device.

[0015] Exchanges of data between a host computer and the non-volatilememory via the first interface, or between a host computer and a secondmass storage device via both interfaces, are initiated by the hostcomputer. Preferably, to enable operation independent of a hostcomputer, the advanced embodiment of the present invention includes auser interface for indicating which exchange mode (read from the secondmass storage device vs. write to the second mass storage device; appendvs. overwrite; single file structure vs. same file structure) toimplement between the non-volatile memory and the second mass storagedevice.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The invention is herein described, by way of example only, withreference to the accompanying drawings, wherein:

[0017] The sole FIGURE is a block diagram of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] The present invention is of a data storage and exchange devicewhich can be used both for data storage and for independent exchanges ofdata with a computer and with a mass storage device.

[0019] The principles and operation of a data storage and exchangedevice according to the present invention may be better understood withreference to the drawings and the accompanying description.

[0020] Referring now to the drawings, the sole FIGURE is a block diagramof a typical data storage and exchange device 10 of the presentinvention. Like the prior art mass storage devices discussed above,device 10 includes a non-volatile memory 18 (specifically, a flashmemory), a first interface 14 (specifically, a USB interface) to acomputer, and a controller 12. As in the case of the prior artDiskOnKey™, when USB interface 14 is plugged into the USB port of acomputer with an appropriately configured operating system, device 10functions as an auxiliary hard disk of the computer. The computer writesdata to flash memory 18 and reads data from flash memory 18, via USBinterface 14 and controller 12. Controller 12 manages flash memory 18much as the controller of a DiskOnKey™ manages the flash memory of thatdevice.

[0021] Device 10 also includes a second interface 16 to a prior art massstorage device such as the Memory Stick®. When a Memory Stick® isinserted in interface 16 and USB interface 14 is plugged into the USBport of a computer with an appropriately configured operating system,device 10 allows the computer to use the Memory Stick® as a secondauxiliary hard disk. For example, an appropriately configured Windowsoperating system of a personal computer with a USB port could treat thecomputer's internal hard disk as the “C” drive, flash memory 18 as the“E” drive and the Memory Stick® as the “F” drive. Read, write and erasecommands from the computer to the second auxiliary hard disk are passedfrom USB interface 14 to the Memory Stick® via second interface 16. Notethat when device 10 is plugged into a computer to emulate one or twoauxiliary hard disks, all read, write and erase activities that involvedevice 10 are initiated by the computer.

[0022] In general, if both interfaces 14 and 16 are of the same type,for example if both interfaces 14 and 16 are USB interfaces, then theread, write and erase commands from the computer to the second auxiliaryhard disk are passed directly from interface 14 to the prior art massstorage device via interface 16. If interfaces 14 and 16 are not of thesame type, controller 12 reformats the commands received via interface14 to be compatible with interface 16, and reformats data exchanged viainterface 16 to be compatible with interface 14.

[0023] When device 10 is plugged into a computer equipped with a displaydevice such as a video screen, a user can view the data stored in flashmemory 18. If, in addition, a mass storage device such as a MemoryStick® is inserted in second interface 16, the user also can view datastored in the mass storage device.

[0024] When device 10 is not plugged into a computer, but a mass storagedevice such as a Memory Stick® is inserted in interface 16, device 10 isoperative to exchange data between the Memory Stick® and flash memory18, under the control of a user. For this purpose, a user interface 20is provided. User interface 20 includes three LEDs 22, 24 and 26, threetoggle switches 28, 30 and 32, and a button 34.

[0025] Toggle switch 28 is used to toggle between two different dataexchange directions: either from flash memory 18 as a data source to themass storage device as a data target or from the mass storage device asa data source to flash memory 18 as a data target. Toggle switch 30 isused to toggle between append mode and overwrite mode. In append mode,data from the data source is appended to data previously stored in thedata target. In overwrite mode, data from the data source is writtenover data previously stored in the data target. Note that in both modes,all the data in the source is written to the target: it is not possibleto select only part of the data from the source to write to the targetwithout the intervention of a computer coupled to USB interface 14. Thedata in the data source is written to the data target until either allthe data in the data source is written to the data target or there is noroom left in the data target. Toggle switch 32 is used to control thestructure of the data that is written to the data target. The writtendata can be structured, either with the same file structure as in thedata source, or as a single file.

[0026] LED 22 lights up to indicate that device 10 is coupled to acomputer at USB interface 14. LED 24 lights up to indicate that device10 is coupled to a mass storage device at second interface 16. Button 34is pressed by the user to initiate data exchange between flash memory 18and a mass storage device inserted in second interface 16 in accordancewith the settings of toggle switches 28, 30 and 32. When button 34 ispressed, LED 26 lights up and remains illuminated until the dataexchange is completed. Preferably LED 26 blinks to indicate a failedattempt to exchange data.

[0027] When device 10 is plugged into a computer to emulate twoauxiliary hard disks, the only features of user interface 20 that areused are LEDs 22, 24 and 26, to indicate positive coupling to thecomputer at interface 14 and to the mass storage device at interface 16,and to indicate success and failure of the data transfer. The dataexchange is initiated by the computer. In this case, the computer canselect only a portion of the data from the source to write to thetarget. Optionally, device 10 is plugged into a computer for theselection of data to be written from the source to the target with theselection being stored in the memory of controller 12; and then deviceis unplugged from the computer, the mass storage device is inserted ininterface 16, and button 34 is pressed to initiate the exchange.

[0028] Device 10 is powered by a rechargeable battery 10. Battery 10 ischarged via USB interface 14 and controller 12 when device 10 is coupledto a computer at USB interface 14.

[0029] Controller 12 preferably is implemented as a programmablemicroprocessor whose instructions are stored either in flash memory 18or in a separate non-volatile memory. Alternatively, because controller12 generally need not be reprogrammed subsequent to manufacture,controller 12 is implemented as a plurality of logic gates. Note thatwhen controller 12 is implemented as a programmable microprocessor, theinstructions provided for controller 12 are limited to the instructionsneeded for the functionality of device 10 as a data storage and exchangedevice.

[0030] While the invention has been described with respect to a limitednumber of embodiments, it will be appreciated that many variations,modifications and other applications of the invention may be made.

What is claimed is:
 1. A data storage and exchange device comprising:(a) a non-volatile memory; (b) a first interface, for exchanging databetween a computer and said non-volatile memory; and (c) a secondinterface, for exchanging data between said computer and a mass storagedevice; the data storage and exchange device being operative only toperform said exchanging.
 2. The device of claim 1, wherein saidnon-volatile memory is a flash memory.
 3. The device of claim 1, whereinsaid first interface is a direct contact interface.
 4. The device ofclaim 3, wherein said direct contact interface is a USB interface. 5.The device of claim 3, wherein said direct contact interface is an IEEE1394 interface.
 6. The device of claim 1, wherein said first interfaceis a wireless interface.
 7. The device of claim 6, wherein said wirelessinterface is a Bluetooth interface.
 8. The device of claim 1, furthercomprising: (d) a controller for managing said exchanging.
 9. The deviceof claim 8, wherein said controller is operative to perform, on saiddata, only data processing operations selected from the group consistingof reformatting, compression, decompression, encryption and decryption.10. The device of claim 8, wherein said interfaces are dissimilar, andwherein said controller is operative to reformat input from one saidinterface to be compatible with the other said interface.
 11. A datastorage and exchange device comprising: (a) a non-volatile memory; (b) afirst interface, for exchanging data between a computer and saidnon-volatile memory; and (c) a second interface, for exchanging databetween said computer and a mass storage device, and for exchanging databetween said non-volatile memory and said mass storage device; the datastorage and exchange device being operative only to perform saidexchanging.
 12. The device of claim 11, wherein said non-volatile memoryis a flash memory.
 13. The device of claim 11, wherein said firstinterface is a direct contact interface.
 14. The device of claim 13,wherein said direct contact interface is a USB interface.
 15. The deviceof claim 13, wherein said direct contact interface is an IEEE 1394interface.
 16. The device of claim 11, wherein said first interface is awireless interface.
 17. The device of claim 16, wherein said wirelessinterface is a Bluetooth interface.
 18. The device of claim 11, furthercomprising: (d) a controller for managing said exchanging.
 19. Thedevice of claim 18, wherein said controller is operative to perform, onsaid data, only data processing operations selected from the groupconsisting of reformatting, compression, decompression, encryption anddecryption.
 20. The device of claim 18, wherein said interfaces aredissimilar, and wherein said controller is operative to reformat inputfrom one said interface to be compatible with the other said interface.21. The device of claim 11, wherein said exchanging data between saidnon-volatile memory and said mass storage device includes writing saiddata from said non-volatile memory to said mass storage device byappending said data from said non-volatile memory to other datapreviously stored in said mass storage device.
 22. The device of claim21, wherein said data that are written to said mass storage device arestructured as a single file.
 23. The device of claim 21, wherein saiddata that are written to said mass storage device are structured as insaid non-volatile memory.
 24. The device of claim 11, wherein saidexchanging data between said non-volatile memory and said mass storagedevice includes writing said data from said mass storage device to saidnon-volatile memory by appending said data from said mass storage deviceto other data previously stored in said non-volatile memory.
 25. Thedevice of claim 24, wherein said data that are written to saidnon-volatile memory are structured as a single file.
 26. The device ofclaim 24, wherein said data that are written to said non-volatile memoryare structured as in said mass storage device.
 27. The device of claim11, wherein said exchanging data between said non-volatile memory andsaid mass storage device includes overwriting data previously stored insaid mass storage device with other data from said non-volatile memory.28. The device of claim 27, wherein said other data are structured as asingle file.
 29. The device of claim 27, wherein said other data arestructured as in said non-volatile memory.
 30. The device of claim 11,wherein said exchanging data between said non-volatile memory and saidmass storage device includes overwriting data previously stored in saidnon-volatile memory with other data from said mass storage device. 31.The device of claim 30, wherein said other data are structured as asingle file.
 32. The device of claim 30, wherein said other data arestructured as in said mass storage device.
 33. The device of claim 11,further comprising: (d) a user interface for managing said exchangingdata between said non-volatile memory and said mass storage device.